// ===============================
// 基础公共样式 - 参考 conductivity.html 设计风格
// ===============================

// ===============================
// 1. 基础重置和布局
// ===============================

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

// ===============================
// 2. 容器系统
// ===============================

.container {
	max-width: 1200px;
	margin: 0 auto;

	width: 100%;
}

.section-container {
	max-width: 1200px;
	margin: 0 auto;
}

// ===============================
// 3. 卡片系统 - 毛玻璃效果
// ===============================

.card {
	backdrop-filter: blur(10px);
	border-radius: 16px;
	padding: 30px;
	box-shadow: var(--theme-card-shadow);
	border: 1px solid var(--theme-content-border);
	transition: all 0.3s ease;
	background: var(--theme-card-bg);
}

.card:hover {
	transform: translateY(-5px);
	box-shadow: var(--theme-card-shadow-hover);
}

.card-header {
	padding: 1.5rem 1.5rem 1rem;
	text-align: center;
	position: relative;
}

.card-header:after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 50px;
	height: 3px;
	background: var(--theme-gradient-primary);
}

.card-header h3 {
	margin: 0;
	font-size: 1.75rem;
	font-weight: 600;
	color: var(--theme-content-title);
}

.card-header p {
	margin: 0.5rem 0 0;
	font-size: 1rem;
	color: var(--theme-content-text-muted);
}

.card-body {
	padding: 1.5rem;
	flex-grow: 1;
	display: flex;
	flex-direction: column;
}

.card-body p {
	margin: 0;
	font-size: 0.95rem;
	color: var(--theme-content-text);
	line-height: 1.7;
	flex-grow: 1;
}

.card-footer {
	padding: 1.25rem;
	background: var(--theme-card-footer-bg);
	text-align: center;
	border-radius: 0 16px 16px;
}

// ===============================
// 4. 网格系统
// ===============================

.grid {
	display: grid;
	gap: 30px;
}

.grid-2 {
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}

.grid-3 {
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.grid-4 {
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}

// ===============================
// 5. 按钮系统 - 现代渐变风格
// ===============================

.btn {
	display: inline-block;
	padding: 12px 24px;
	border: none;
	border-radius: 12px;
	font-size: 16px;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.3s ease;
	text-decoration: none;
	position: relative;
	overflow: hidden;
}

.btn-primary {
	background: var(--theme-gradient-primary);
	color: white;
	border: 1px solid transparent;
}

.btn-primary:hover {
	transform: translateY(-2px);
	box-shadow: var(--theme-button-shadow-hover);
}

.btn-outline {
	background: transparent;
	color: var(--theme-accent);
	border: 2px solid var(--theme-accent);
}

.btn-outline:hover {
	background: var(--theme-accent);
	color: white;
}

.btn-ghost {
	background: var(--theme-button-ghost-bg);
	color: var(--theme-content-text);
	border: 1px solid var(--theme-content-border);
}

.btn-ghost:hover {
	background: var(--theme-content-hover);
	color: var(--theme-accent);
}

.btn:disabled {
	opacity: 0.6;
	cursor: not-allowed;
	transform: none;
}

// ===============================
// 6. 图标包装器
// ===============================

.icon-wrapper {
	width: 70px;
	height: 70px;
	margin: 0 auto 1rem;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--theme-icon-bg);
	position: relative;
	transition: all 0.3s ease;
}

.icon-wrapper:hover {
	transform: scale(1.1);
	background: var(--theme-icon-bg-hover);
}

.icon-wrapper svg {
	width: 35px;
	height: 35px;
	fill: var(--theme-accent);
	transition: fill 0.3s ease;
}

// ===============================
// 7. 标题系统
// ===============================

.section-title {
	text-align: center;
	margin-bottom: 20px;
	position: relative;
}

.section-title h2 {
	font-size: 2.5rem;
	font-weight: 700;
	background: var(--theme-gradient-title);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	margin-bottom: 10px;
}

.section-title p {
	font-size: 1.2rem;
	color: var(--theme-content-text-muted);
	margin-bottom: 20px;
}

.section-title::after {
	content: '';
	display: block;
	width: 100px;
	height: 2px;
	background: var(--theme-gradient-primary);
	margin: 20px auto 0;
	border-radius: 1px;
}

// ===============================
// 全局标题样式 - 使用 #3b82f6 颜色
// ===============================

h1,
h2,
h3,
h4,
h5,
h6 {
	color: var(--theme-content-title);
	font-weight: 600;
	line-height: 1.3;
	margin-bottom: 1rem;
}

h1 {
	font-size: 2.5rem;
}

h2 {
	font-size: 2rem;
}

h3 {
	font-size: 1.5rem;
}

h4 {
	font-size: 1.25rem;
}

h5 {
	font-size: 1.125rem;
}

h6 {
	font-size: 1rem;
}

// ===============================
// 8. 英雄横幅区域 - 通用组件
// ===============================

.hero {
	position: relative;
	background: var(--theme-hero-bg);
	height: 400px;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	text-align: center;

	// 粒子动画背景
	.particles {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		pointer-events: none;
		z-index: 1;

		.particle {
			position: absolute;
			width: 4px;
			height: 4px;
			background: var(--theme-accent);
			border-radius: 50%;
			opacity: 0.6;
			animation: float 6s infinite ease-in-out;

			&:nth-child(1) {
				top: 10%;
				left: 10%;
				animation-delay: 0s;
			}
			&:nth-child(2) {
				top: 20%;
				left: 80%;
				animation-delay: 1s;
			}
			&:nth-child(3) {
				top: 30%;
				left: 30%;
				animation-delay: 2s;
			}
			&:nth-child(4) {
				top: 40%;
				left: 70%;
				animation-delay: 3s;
			}
			&:nth-child(5) {
				top: 60%;
				left: 20%;
				animation-delay: 1.5s;
			}
			&:nth-child(6) {
				top: 70%;
				left: 90%;
				animation-delay: 2.5s;
			}
			&:nth-child(7) {
				top: 80%;
				left: 15%;
				animation-delay: 0.5s;
			}
			&:nth-child(8) {
				top: 50%;
				left: 60%;
				animation-delay: 3.5s;
			}
			&:nth-child(9) {
				top: 15%;
				left: 50%;
				animation-delay: 4s;
			}
			&:nth-child(10) {
				top: 85%;
				left: 40%;
				animation-delay: 2.8s;
			}
			&:nth-child(11) {
				top: 25%;
				left: 75%;
				animation-delay: 1.2s;
			}
			&:nth-child(12) {
				top: 65%;
				left: 85%;
				animation-delay: 4.5s;
			}
		}
	}

	// 光束效果
	.light-streak {
		position: absolute;
		height: 2px;
		background: var(--theme-gradient-primary);
		opacity: 0.3;
		animation: streak 8s infinite linear;

		&:nth-child(1) {
			top: 20%;
			width: 100px;
			animation-delay: 0s;
		}

		&:nth-child(2) {
			top: 50%;
			width: 150px;
			animation-delay: 2s;
		}

		&:nth-child(3) {
			top: 80%;
			width: 120px;
			animation-delay: 4s;
		}
	}

	.hero-content {
		position: relative;
		z-index: 2;
		max-width: 1200px;
		margin: 0 auto;

		h1 {
			font-size: 3.5rem;
			font-weight: 700;
			background: var(--theme-gradient-title);
			-webkit-background-clip: text;
			-webkit-text-fill-color: transparent;
			background-clip: text;
			margin-bottom: 1.5rem;
		}

		p {
			font-size: 1.3rem;
			color: var(--theme-content-text-muted);
			line-height: 1.7;
			margin: 0 auto;
		}
	}
}

// ===============================
// 9. 产品/内容卡片系统
// ===============================

.products {
	max-width: 1200px;
	margin: 0 auto;
	padding: 20px 0;
}

.product-card {
	background: var(--theme-card-bg);
	border-radius: 20px;
	box-shadow: var(--theme-card-shadow);
	margin-bottom: 20px;
	overflow: hidden;
	transition: all 0.3s ease;
	border: 1px solid var(--theme-content-border);
	backdrop-filter: blur(10px);

	&:hover {
		transform: translateY(-8px);
		box-shadow: var(--theme-card-shadow-hover);
	}

	.product-content {
		display: flex;
		align-items: center;
		gap: 40px;
		padding: 50px;

		&.reverse {
			flex-direction: row-reverse;
		}

		.product-info {
			flex: 1;
			min-width: 0;

			h2 {
				font-size: 2rem;
				color: var(--theme-content-title);
				margin-bottom: 20px;
				font-weight: 700;
				background: var(--theme-gradient-title);
				-webkit-background-clip: text;
				-webkit-text-fill-color: transparent;
				background-clip: text;
			}

			p {
				font-size: 1.1rem;
				line-height: 1.8;
				color: var(--theme-content-text);
				margin-bottom: 30px;
			}

			.features {
				display: flex;
				flex-wrap: wrap;
				gap: 15px;

				.feature {
					display: flex;
					align-items: center;
					gap: 10px;
					padding: 12px 18px;
					background: var(--theme-feature-bg);
					border-radius: 25px;
					transition: all 0.3s ease;
					border: 1px solid var(--theme-content-border);

					&:hover {
						background: var(--theme-accent);
						color: white;
						transform: translateY(-2px);
						box-shadow: var(--theme-button-shadow-hover);
					}

					.icon {
						font-size: 1.2rem;
					}

					span:not(.icon) {
						color: var(--theme-content-text);
						font-weight: 500;
						font-size: 0.9rem;
					}

					&:hover span:not(.icon) {
						color: white;
					}
				}
			}
		}

		.product-image {
			flex: 1;
			height: 320px;
			border-radius: 16px;
			transition: transform 0.3s ease;
			min-height: 250px;
			overflow: hidden;
			box-shadow: var(--theme-image-shadow);

			&:hover {
				transform: scale(1.02);
			}

			:deep(.el-image) {
				width: 100%;
				height: 100%;
				border-radius: 16px;
			}

			:deep(.el-image__inner) {
				border-radius: 16px;
			}
		}
	}
}

// ===============================
// 10. 成果展示/图片网格系统
// ===============================

.achievements {
	padding: 20px 0;

	.sectionPlus {
		max-width: 1200px;
		margin: 0 auto 20px;

		.section-header {
			text-align: center;
			margin-bottom: 20px;

			.section-title {
				font-size: 2.5rem;
				font-weight: 700;
				background: var(--theme-gradient-title);
				-webkit-background-clip: text;
				-webkit-text-fill-color: transparent;
				background-clip: text;
				margin-bottom: 20px;
			}
		}

		.cards-grid {
			display: grid;
			grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
			gap: 25px;
			padding: 20px 0;
		}

		.image-item {
			.card {
				background: var(--theme-card-bg);
				border-radius: 16px;
				overflow: hidden;
				transition: all 0.3s ease;
				box-shadow: var(--theme-card-shadow);
				border: 1px solid var(--theme-content-border);
				backdrop-filter: blur(10px);

				&:hover {
					transform: translateY(-5px);
					box-shadow: var(--theme-card-shadow-hover);
				}

				.image-container {
					position: relative;
					overflow: hidden;

					.image-placeholder-small {
						width: 100%;
						height: 200px;
						transition: transform 0.3s ease;

						:deep(.el-image) {
							width: 100%;
							height: 100%;
						}

						:deep(.el-image__inner) {
							object-fit: cover;
						}
					}

					.image-overlay {
						position: absolute;
						top: 0;
						left: 0;
						width: 100%;
						height: 100%;
						background: var(--theme-overlay-bg);
						display: flex;
						align-items: center;
						justify-content: center;
						opacity: 0;
						transition: all 0.3s ease;

						.overlay-text {
							color: white;
							font-weight: 600;
							font-size: 1rem;
							text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
						}
					}

					&:hover .image-overlay {
						opacity: 1;
					}

					&:hover .image-placeholder-small {
						transform: scale(1.1);
					}
				}
			}
		}
	}
}

// ===============================
// 11. 快速导航系统
// ===============================

.quick-nav {
	background: var(--theme-nav-bg);
	padding: 2.5rem 0;
	box-shadow: var(--theme-nav-shadow);
	position: sticky;
	top: 70px;
	z-index: 999;
	border-bottom: 1px solid var(--theme-content-border);
	backdrop-filter: blur(10px);

	.quick-nav-container {
		max-width: 1200px;
		margin: 0 auto;
	}

	.nav-title {
		text-align: center;
		margin-bottom: 2rem;
		color: var(--theme-content-title);
		font-size: 1.1rem;
		font-weight: 600;
	}

	.nav-buttons {
		display: grid;
		justify-content: center;
		gap: 1.5rem;
		grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	}

	.nav-btn {
		background: var(--theme-card-bg);
		border: 2px solid var(--theme-content-border);
		color: var(--theme-content-text);
		padding: 1.5rem 2rem;
		border-radius: 16px;
		text-decoration: none;
		font-weight: 600;
		transition: all 0.3s ease;
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 0.8rem;
		position: relative;
		overflow: hidden;
		backdrop-filter: blur(10px);

		&::before {
			content: '';
			position: absolute;
			top: 0;
			left: -100%;
			width: 100%;
			height: 100%;
			background: var(--theme-nav-highlight);
			transition: left 0.5s;
		}

		&:hover::before {
			left: 100%;
		}

		&:hover {
			background: var(--theme-accent);
			color: white;
			border-color: var(--theme-accent);
			transform: translateY(-3px);
			box-shadow: var(--theme-button-shadow-hover);
		}

		&.active {
			background: var(--theme-accent);
			color: white;
			border-color: var(--theme-accent);
			box-shadow: var(--theme-button-shadow-hover);
		}

		.nav-btn-icon {
			width: 45px;
			height: 45px;
			border-radius: 12px;
			display: flex;
			align-items: center;
			justify-content: center;
			background: var(--theme-icon-bg);
			border: 2px solid var(--theme-content-border);
			transition: all 0.3s ease;
		}

		&:hover .nav-btn-icon,
		&.active .nav-btn-icon {
			background: rgba(255, 255, 255, 0.2);
			border-color: rgba(255, 255, 255, 0.3);
		}

		.nav-btn-text {
			text-align: center;
			line-height: 1.3;

			.nav-btn-title {
				font-size: 1rem;
				margin-bottom: 0.2rem;
			}
		}
	}
}

// ===============================
// 原有的介绍区域
// ===============================

.intro-section {
	text-align: center;
	max-width: 900px;
	margin: 0 auto;
	padding: 40px 0;
}

.intro-section h2 {
	font-size: 2rem;
	margin-bottom: 1rem;
	color: var(--theme-content-title);
}

.intro-section p {
	color: var(--theme-content-text-muted);
	font-size: 1.1rem;
	line-height: 1.7;
}

// ===============================
// 12. 通用动画效果
// ===============================

// 粒子浮动动画
@keyframes float {
	0%,
	100% {
		transform: translateY(0px) rotate(0deg);
		opacity: 0.6;
	}
	50% {
		transform: translateY(-20px) rotate(180deg);
		opacity: 1;
	}
}

// 光束移动动画
@keyframes streak {
	0% {
		left: -100px;
		opacity: 0;
	}
	50% {
		opacity: 0.3;
	}
	100% {
		left: 100%;
		opacity: 0;
	}
}

// 原有动画保持
.fade-in {
	animation: fadeIn 0.8s ease forwards;
}

.slide-up {
	animation: slideUp 0.8s ease forwards;
}

@keyframes fadeIn {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

@keyframes slideUp {
	from {
		opacity: 0;
		transform: translateY(30px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes fadeInUp {
	from {
		opacity: 0;
		transform: translateY(30px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

// ===============================
// 13. 工具类
// ===============================

.text-center {
	text-align: center;
}
.text-left {
	text-align: left;
}
.text-right {
	text-align: right;
}

.mb-1 {
	margin-bottom: 0.5rem;
}
.mb-2 {
	margin-bottom: 1rem;
}
.mb-3 {
	margin-bottom: 1.5rem;
}
.mb-4 {
	margin-bottom: 2rem;
}

.mt-1 {
	margin-top: 0.5rem;
}
.mt-2 {
	margin-top: 1rem;
}
.mt-3 {
	margin-top: 1.5rem;
}
.mt-4 {
	margin-top: 2rem;
}

.p-1 {
	padding: 0.5rem;
}
.p-2 {
	padding: 1rem;
}
.p-3 {
	padding: 1.5rem;
}
.p-4 {
	padding: 2rem;
}

.d-flex {
	display: flex;
}
.flex-column {
	flex-direction: column;
}
.align-center {
	align-items: center;
}
.justify-center {
	justify-content: center;
}
.justify-between {
	justify-content: space-between;
}

// ===============================
// 14. 响应式断点
// ===============================

@media (max-width: 768px) {
	.hero-content,
	.container {
		padding: 0 10px !important;
	}

	.card {
		padding: 20px;
	}

	.grid {
		gap: 15px;
	}

	.grid-2,
	.grid-3,
	.grid-4 {
		grid-template-columns: 1fr;
	}

	.section-title h2 {
		font-size: 1.8rem;
	}

	.intro-section {
		margin-bottom: 2rem;
	}

	.intro-section h2 {
		font-size: 1.5rem;
	}

	.intro-section p {
		font-size: 1rem;
	}

	.btn {
		padding: 10px 20px;
		font-size: 14px;
	}

	.icon-wrapper {
		width: 60px;
		height: 60px;
	}

	.icon-wrapper svg {
		width: 30px;
		height: 30px;
	}

	// Hero 响应式
	.hero {
		padding: 20px 0 40px;

		.hero-content {
			h1 {
				font-size: 2rem;
			}

			p {
				font-size: 1rem;
			}
		}
	}

	// Products 响应式
	.products {
		padding: 20px 10px !important;

		.product-card {
			margin-bottom: 20px;

			.product-content {
				flex-direction: column;
				padding: 30px 20px;
				gap: 30px;

				&.reverse {
					flex-direction: column;
				}

				.product-info {
					width: 100%;

					h2 {
						font-size: 1.4rem;
					}

					p {
						font-size: 1rem;
					}

					.features {
						gap: 10px;

						.feature {
							padding: 8px 12px;
							font-size: 0.8rem;
						}
					}
				}

				.product-image {
					height: 200px;
				}
			}
		}
	}

	// Achievements 响应式
	.achievements {
		padding: 40px 0;

		.sectionPlus {
			margin-bottom: 20px;

			.section-header .section-title {
				font-size: 1.8rem;
			}

			.cards-grid {
				grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
				gap: 15px;

				.image-item .card .image-container .image-placeholder-small {
					height: 150px;
				}
			}
		}
	}

	// Quick Nav 响应式
	.quick-nav {
		padding: 1.5rem 0;

		.nav-buttons {
			grid-template-columns: 1fr;
			gap: 1rem;
		}

		.nav-btn {
			padding: 1rem 1.5rem;
		}
	}
}

@media (max-width: 1024px) {
	// Hero 1024px 响应式
	.hero {
		padding: 20px 0;

		.hero-content h1 {
			font-size: 2.5rem;
		}

		.hero-content p {
			font-size: 1.1rem;
		}
	}

	// Products 1024px 响应式
	.products .product-card .product-content {
		flex-direction: column;
		padding: 40px 30px;
		gap: 30px;

		&.reverse {
			flex-direction: column;
		}

		.product-info {
			width: 100%;

			h2 {
				font-size: 1.6rem;
			}
		}

		.product-image {
			width: 100%;
			height: 250px;
		}
	}

	// Achievements 1024px 响应式
	.achievements .sectionPlus .cards-grid {
		grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
		gap: 20px;
	}
}

@media (max-width: 480px) {
	.card {
		padding: 15px;
	}

	.grid {
		gap: 10px;
	}

	.section-title h2 {
		font-size: 1.5rem;
	}

	.intro-section h2 {
		font-size: 1.3rem;
	}

	.btn {
		padding: 8px 16px;
		font-size: 13px;
	}

	// Hero 480px 响应式
	.hero .hero-content h1 {
		font-size: 1.6rem;
	}

	// Achievements 480px 响应式
	.achievements .sectionPlus .cards-grid {
		grid-template-columns: repeat(2, 1fr);

		.image-item .card .image-container .image-placeholder-small {
			height: 120px;
		}
	}
}
